1379C - Choosing flowers - CodeForces Solution


binary search brute force data structures dfs and similar dp greedy sortings two pointers *2000

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
int main()
{ll t;
cin>>t;
while(t--){
    ll m,n;
    cin>>m>>n;
    pair<ll,ll>p[n];
    ll arr[n],ps[n+1]={0};
    for(ll i=0;i<n;i++){
        ll x,y;
        cin>>x>>y;
        p[i]=make_pair(x,y);
        arr[i]=x;
    }
    sort(arr,arr+n);
    for(ll i=1;i<=n;i++){
        ps[i]=ps[i-1];
        ps[i]+=arr[i-1];
    }
    ll ans=0;
    for(ll i=0;i<n;i++){
        ll y=p[i].second;
        ll x=p[i].first;
        ll r=upper_bound(arr,arr+n,y)-arr;
        ll cnt=n-r;
        if(x<=y){
            cnt++;
        }
        if(cnt<=m){
            ll tot=ps[n]-ps[r];
            if(x<=y){
                tot+=x;
            }
            ll q=m-cnt;
            tot+=q*y;
            ans=max(ans,tot);
        }
        else{
            
            ans=max(ans,ps[n]-ps[n-m]);
        }
    }
    cout<<ans<<"\n";
    
}
    
   
}


Comments

Submit
0 Comments
More Questions

1217. Minimum Cost to Move Chips to The Same Position
347. Top K Frequent Elements
1503. Last Moment Before All Ants Fall Out of a Plank
430. Flatten a Multilevel Doubly Linked List
1290. Convert Binary Number in a Linked List to Integer
1525. Number of Good Ways to Split a String
72. Edit Distance
563. Binary Tree Tilt
1306. Jump Game III
236. Lowest Common Ancestor of a Binary Tree
790. Domino and Tromino Tiling
878. Nth Magical Number
2099. Find Subsequence of Length K With the Largest Sum
1608A - Find Array
416. Partition Equal Subset Sum
1446. Consecutive Characters
1618A - Polycarp and Sums of Subsequences
1618B - Missing Bigram
938. Range Sum of BST
147. Insertion Sort List
310. Minimum Height Trees
2110. Number of Smooth Descent Periods of a Stock
2109. Adding Spaces to a String
2108. Find First Palindromic String in the Array
394. Decode String
902. Numbers At Most N Given Digit Set
221. Maximal Square
1200. Minimum Absolute Difference
1619B - Squares and Cubes
1619A - Square String